




/**
 * @description 根据要连线的索引，获取开始点位置，结束点位置
 * @param {*} wrapper 容器元素
 * @param {[]} leftDivs 左边item元素集合
 * @param {[]} rightDivs 右边item元素集合
 * @param { [number]} leftIndexs 左边索引集合
 * @param { [number] } rightIndexs 右边索引集合
 */
function getPoints(wrapper, leftDivs, rightDivs, leftIndexs, rightIndexs) {
  let leftPoints = []
  let rightPoints = []


  // 容器相对窗口的left，top
  let { left: wrapperLeft, top: wrapperTop } = wrapper.getBoundingClientRect()

  // 遍历左边元素集合，获取起点位置（左边元素的
  leftIndexs.forEach(index => {
    let div = leftDivs[index]

    // 元素相对窗口的left和top
    let { left, top, width, height } = div.getBoundingClientRect()

    // 容器减去元素的，就是相对容器的left，top
    let x = left - wrapperLeft + width
    let y = top - wrapperTop + 0.5 * height


    leftPoints.push([x, y])
  })

  //  遍历右边元素集合，获取终点位置（右边元素的
  rightIndexs.forEach(index => {
    let div = rightDivs[index]

    // 元素相对窗口的left和top
    let { left, top, height } = div.getBoundingClientRect()

    // 容器减去元素的，就是相对容器的left，top
    let x = left - wrapperLeft
    let y = top - wrapperTop + 0.5 * height


    rightPoints.push([x, y])
  })

  return [leftPoints, rightPoints]
}

export default getPoints